package rest;

import Entity.Message;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;

@Stateless //moet aanwezigzijn om em te kunnen gebruiken //hierdoor komen er ook transacties
@Path("motd")
public class MessageService {
    
    @PersistenceContext  //Dependency injection (DI)
    private EntityManager em;
    
    
    @GET
    public String getMessageOfTheDay(){
        Message m = em.createQuery("SELECT m FROM Message m WHERE m.id = (SELECT MAX(m2.id) From Message m2)",Message.class).getSingleResult();
        return m.getMessage();
    }
    //alle objecten die gepasseert zijn via de contextmanager zijn
    //put is update
    //post is create
    @PUT
    public void setMessageOfTheDay(String input) {//methode is een transaction
        Message m = new Message();
        m.setMessage(input);
        em.persist(m);
    }//transaction stopt hier
    
    //delete is verwijderen
    
    //testen van http request HTTP -v GET
    
    /*
     * kennen
     * 200 ok
     * 201 Created
     * 204
     * 400
     * 404
     * 500
     * 
     * 
     * 
     * 
     */
}
